type go/types._TypeSet
30 uses
go/types (current package)
check.go#L184: unionTypeSets map[*Union]*_TypeSet // computed type sets for union types
interface.go#L25: tset *_TypeSet // type set described by this interface, computed lazily
interface.go#L29: func (t *Interface) typeSet() *_TypeSet { return computeInterfaceTypeSet(t.check, nopos, t) }
predicates.go#L389: unionSets := make(map[*Union]*_TypeSet)
typeset.go#L29: type _TypeSet struct {
typeset.go#L36: func (s *_TypeSet) IsEmpty() bool { return s.terms.isEmpty() }
typeset.go#L39: func (s *_TypeSet) IsAll() bool { return s.IsMethodSet() && len(s.methods) == 0 }
typeset.go#L42: func (s *_TypeSet) IsMethodSet() bool { return !s.comparable && s.terms.isAll() }
typeset.go#L45: func (s *_TypeSet) IsComparable(seen map[Type]bool) bool {
typeset.go#L55: func (s *_TypeSet) NumMethods() int { return len(s.methods) }
typeset.go#L59: func (s *_TypeSet) Method(i int) *Func { return s.methods[i] }
typeset.go#L62: func (s *_TypeSet) LookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
typeset.go#L66: func (s *_TypeSet) String() string {
typeset.go#L105: func (s *_TypeSet) hasTerms() bool { return !s.terms.isEmpty() && !s.terms.isAll() }
typeset.go#L108: func (s1 *_TypeSet) subsetOf(s2 *_TypeSet) bool { return s1.terms.subsetOf(s2.terms) }
typeset.go#L113: func (s *_TypeSet) typeset(yield func(t, u Type) bool) {
typeset.go#L138: func (s *_TypeSet) is(f func(*term) bool) bool {
typeset.go#L152: var topTypeSet = _TypeSet{terms: allTermlist}
typeset.go#L155: func computeInterfaceTypeSet(check *Checker, pos token.Pos, ityp *Interface) *_TypeSet {
typeset.go#L195: ityp.tset = &_TypeSet{terms: allTermlist} // TODO(gri) is this sufficient?
typeset.go#L197: var unionSets map[*Union]*_TypeSet
typeset.go#L200: check.unionTypeSets = make(map[*Union]*_TypeSet)
typeset.go#L204: unionSets = make(map[*Union]*_TypeSet)
typeset.go#L371: var invalidTypeSet _TypeSet
typeset.go#L375: func computeUnionTypeSet(check *Checker, unionSets map[*Union]*_TypeSet, pos token.Pos, utyp *Union) *_TypeSet {
typeset.go#L381: unionSets[utyp] = new(_TypeSet)
typestring.go#L361: func (w *typeWriter) typeSet(s *_TypeSet) {
universe.go#L145: ityp := &Interface{complete: true, tset: &_TypeSet{nil, allTermlist, true}}